package vip.xiaonuo.biz.modular.fzrole.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.biz.modular.fzrole.entity.BizFzRole;
import vip.xiaonuo.biz.modular.fzrole.param.*;

import java.util.List;

/**
 * 分销人角色表Service接口
 *
 * @author xiao
 *
 **/
public interface BizFzRoleService extends IService<BizFzRole> {

    /**
     * 获取分销人角色表分页
     *
     * @author xiao
     *
     */
    Page<BizFzRole> page(BizFzRolePageParam bizFzRolePageParam);

    /**
     * 添加分销人角色表
     *
     * @author xiao
     *
     */
    void add(BizFzRoleAddParam bizFzRoleAddParam);

    /**
     * 编辑分销人角色表
     *
     * @author xiao
     *
     */
    void edit(BizFzRoleEditParam bizFzRoleEditParam);

    /**
     * 删除分销人角色表
     *
     * @author xiao
     *
     */
    void delete(List<BizFzRoleIdParam> bizFzRoleIdParamList);

    /**
     * 获取分销人角色表详情
     *
     * @author xiao
     *
     */
    BizFzRole detail(BizFzRoleIdParam bizFzRoleIdParam);

    /**
     * 获取分销人角色表详情
     *
     * @author xiao
     *
     **/
    BizFzRole queryEntity(String id);

    /**
     * 查询下级角色
     *
     * @param roleValue 角色值
     * @return 下级角色列表，如果存在则返回列表，不存在则返回空列表
     * @author xiao
     *
     **/
    List<BizFzRole> querySubRoles(String roleValue);

    String generateMaQrCode(WxQrCodeParam wxQrCodeParam);
}
